<?php
/**
 * 登录账户模型
 */
namespace app\msgapi\model;

use think\model\concern\SoftDelete;

class AdminUser extends BaseModel
{
    use SoftDelete;
    protected $deleteTime = 'delete_time';
    protected $defaultSoftDelete = 0;

    // 相对关联，获取用户组名
    public function groupname()
    {
        return $this->belongsTo(AuthGroup::class, 'group_id', 'id')->bind(['title']);
    }

    // 相对关联，获取成员名
    public function qwName()
    {
        return $this->belongsTo(User::class, 'userid', 'userid')->bind(['qwname'=>'name']);
    }

    /**
     * 根据id获取state
     * @param int $id
     * @return int|null
     */
    public function getStateById(int $id): ?int
    {
        return $this->where('id', $id)->value('state');
    }

    // 修改器，密码实际保存到数据库中的时候会自动加密
    public function setPasswordAttr($value)
    {
        return password_hash(md5($value), PASSWORD_DEFAULT);
    }
}